package com.atguigu.day13.teacher.homework01;

import java.util.Comparator;

public class ArrayTools {
    /**
     * 排序任意类型数组
     * @param arr
     * @param c
     */
    public static void sort(Object[]arr, Comparator c){
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr.length-1; j++) {
                if(c.compare(arr[j],arr[j+1])>0){
                    Object temp =arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
    }



    /**
     * 实现给对象数组从小到大排序，
     * 要求元素的运行时类型必须实现Comparable接口
     * @param arr
     */
    public static void sort(Comparable[]arr){
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr.length-1; j++) {

                if(arr[j].compareTo(arr[j+1])>0){
                    Comparable temp = arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
    }

    /**
     * 使用foreach循环遍历输出数组元素
     * @param arr
     */
    public static void print(Object[]arr){
        //Object o = e1
        for (Object o : arr) {
            System.out.println(o.toString());
        }
    }
}
